<!DOCTYPE html>
<meta charset="utf-8">
<pre class="metadata">
title: Async Iteration
status: proposal
stage: 3
location: https://tc39.github.io/proposal-async-iteration/
copyright: false
contributors: Kevin Smith, Domenic Denicola
</pre>
<script src="ecmarkup.js" defer></script>
<link rel="stylesheet" href="ecmarkup.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/solarized_light.min.css">

<emu-clause id="sec-introduction">
  <h1>Introduction</h1>
  <emu-import href="./introduction.html"></emu-import>
</emu-clause>

<emu-clause id="sec-well-known-symbols-patch">
  <h1>Well-Known Symbols</h1>
  <emu-note type=editor>
    <p>The spec's existing <emu-xref href="#table-1"></emu-xref> in <emu-xref href="#sec-well-known-symbols"></emu-xref> should be expanded with the following rows:</p>
  </emu-note>

  <emu-import href="./well-known-symbols-patch.html"></emu-import>
</emu-clause>

<emu-clause id="sec-well-known-intrinsic-objects-patch">
  <h1>Well-Known Intrinsic Objects</h1>
  <emu-note type=editor>
    <p>The spec's existing <emu-xref href="#table-7"></emu-xref> in <emu-xref href="#sec-well-known-intrinsic-objects"></emu-xref> should be expanded with the following rows:</p>
  </emu-note>

  <emu-import href="./well-known-intrinsics-patch.html"></emu-import>
</emu-clause>

<emu-clause id="sec-completion-record-specification-type-patch">
  <h1>The Completion Record Specification Type</h1>
  <emu-note type="editor">
    This patch adds clauses to <emu-xref href="#sec-completion-record-specification-type"></emu-xref>.
  </emu-note>

  <emu-import href="./completion-records-patch.html"></emu-import>
</emu-clause>

<emu-clause id="sec-operations-on-iterator-objects-patch">
  <h1>Operations on Iterator Objects</h1>
  <emu-note type="editor">
    These patches modify clauses of and add clauses to <emu-xref href="#sec-operations-on-iterator-objects"></emu-xref>.
  </emu-note>

  <emu-import href="./iterator-operations.html"></emu-import>
</emu-clause>

<emu-clause id="sec-ecmascript-function-objects-patch">
  <h1>ECMAScript Function Objects</h1>
  <emu-note type="editor">
    This patch adds a clause to <emu-xref href="#sec-ecmascript-function-objects"></emu-xref>.
  </emu-note>

  <emu-import href="./es-function-objects-patch.html"></emu-import>
</emu-clause>

<emu-clause id="sec-ecmascript-language-statements-and-declarations-patch">
  <h1>ECMAScript Language: Statements and Declarations</h1>
  <emu-note type="editor">
    These patches modify clauses of and add clauses to <emu-xref href="#sec-ecmascript-language-statements-and-declarations"></emu-xref>.
  </emu-note>

  <emu-clause id="sec-return-statement">
    <h1>The `return` Statement</h1>
    <emu-import href="./return-statement-patch.html"></emu-import>
  </emu-clause>

  <emu-clause id="sec-iteration-statements">
    <h1>Iteration Statements</h1>
    <emu-import href="./iteration-statements-patch.html"></emu-import>
  </emu-clause>
</emu-clause>

<emu-clause id="sec-ecmascript-language-functions-and-classes-patch">
  <h1>ECMAScript Language: Functions and Classes</h1>
  <emu-note type="editor">
    These patches modify clauses of and add clauses to <emu-xref href="#sec-ecmascript-language-functions-and-classes"></emu-xref>.
  </emu-note>

  <emu-clause id="sec-method-definitions">
    <h1>Method Definitions</h1>
    <emu-import href="./method-definitions-patch.html"></emu-import>
  </emu-clause>

  <emu-clause id="sec-generator-definitions">
    <h1>Generator Definitions</h1>
    <emu-import href="./generator-definitions-patch.html"></emu-import>
  </emu-clause>

  <emu-clause id="sec-async-generator-function-definitions">
    <h1><ins>Async Generator Function Definitions</ins></h1>
    <emu-import href="./definitions.html"></emu-import>
  </emu-clause>
</emu-clause>

<emu-clause id="sec-createdynamicfunction-patch" aoid="CreateDynamicFunction">
  <h1>Runtime Semantics: CreateDynamicFunction(_constructor_, _newTarget_, _kind_, _args_)</h1>
  <emu-note type="editor">
    This patch modifies <emu-xref href="#sec-createdynamicfunction"></emu-xref>.
  </emu-note>

  <emu-import href="./create-dynamic-function-patch.html"></emu-import>
</emu-clause>

<emu-clause id="sec-properties-of-the-symbol-constructor-patch">
  <h1>Properties of the Symbol Constructor</h1>
  <emu-note type="editor">
    This patch add a clause to <emu-xref href="#sec-properties-of-the-symbol-constructor"></emu-xref>.
  </emu-note>

  <emu-import href="./properties-of-symbol-patch.html"></emu-import>
</emu-clause>

<emu-clause id="sec-control-abstraction-objects-patch">
  <h1>Control Abstraction Objects</h1>
  <emu-note type="editor">
    These patches modify clauses of and add clauses to <emu-xref href="#sec-control-abstraction-objects"></emu-xref>.
  </emu-note>

  <emu-clause id="sec-iteration">
    <h1>Iteration</h1>
    <emu-import href="./iteration.html"></emu-import>
  </emu-clause>

  <emu-clause id="sec-generator-objects">
    <h1>Generator Objects</h1>
    <emu-clause id="sec-generator-abstract-operations">
      <h1>Generator Abstract Operations</h1>
      <emu-import href="./generator-abstract-ops-patch.html"></emu-import>
    </emu-clause>
  </emu-clause>

  <emu-clause id="sec-asyncgeneratorfunction-objects">
    <h1><ins>AsyncGeneratorFunction Objects</ins></h1>
    <emu-import href="./async-generator-function-objects.html"></emu-import>
  </emu-clause>

  <emu-clause id="sec-asyncgenerator-objects">
    <h1><ins>AsyncGenerator Objects</ins></h1>
    <emu-import href="./async-generator-objects.html"></emu-import>
  </emu-clause>
</emu-clause>

<emu-clause id="misc-patches">
  <h1>Miscellaneous Patches</h1>
  <emu-import href="./misc-patches.html"></emu-import>
</emu-clause>
